package com.itheima.model.note.dtos;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.itheima.model.common.dtos.PageRequestDto;
import com.itheima.model.note.pojos.Note;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * 笔记DTO
 */
@Data
public class NoteDto extends Note {
    /**
     * 查询的图书Id
     */
    private Integer bookId;

    /**
     * 筛选标识常量：
     * - 查询全部公开笔记
     */
    public static final Integer QUERY_ALL = 0;
    /**
     * 筛选标识常量：
     * - 只查询当前登录用户自己的笔记
     */
    public static final Integer QUERY_OWN = 1;

    /**
     * 笔记归属筛选标识：
     * 参考常量 {@link #QUERY_ALL} 和 {@link #QUERY_OWN}
     */
    private Integer ownFlag;
    /**
     * 分页大小
     */
    private Integer size;
    /**
     * 分页页码
     */
    private Integer page;

    public void checkParam() {
        if (this.page == null || this.page < 0) {
            setPage(1);
        }
        if (this.size == null || this.size < 0 || this.size > 100) {
            setSize(10);
        }
    }

}